Resources are accessed over the Internet using a human readable domain name, such as AcmeXYZ.com, which identifies an Internet resource maintained by a hypothetical company, AcmeXYZ Corporation. To locate this resource, the Internet will convert the domain name AcmeXYZ.com into its Internet Protocol (IP) address. Internet protocol addresses refer to 32 bit numbers arranged into four octets, where each octet is separated by a period (e.g., xxx.xxx.xxx.xxx, where “xxx” refers to a number from 0 to 255, that is, 0 to 28). Resources that are accessible over the Internet each have their own unique IP address.
FIG. 1 illustrates a domain name space 100 formed by all of the domains accessible through the Internet. As shown in FIG. 1, the domain name space forms an inverted tree structure including a plurality of nodes representative of respective domains. A top level node 102 pertains to a root of the domain name space 100. A plurality of second level nodes (e.g., 104-116) refer to so-called top level domains (TLD) allocated to different high level fields. For instance, node 104 pertains to a top level domain allocated to commercial organizations. Node 106 pertains to a top level domain allocated to educational organizations. Node 108 pertains to a top level domain allocated to U.S. governmental organizations (such as the U.S. State Department, etc.). Node 110 pertains to a top level domain allocated to international organizations (such as NATO, etc.). Node 112 pertains to a top level domain allocated to military operations. Node 114 refers to a top level domain allocated to networking organizations. Node 116 refers to a top level domain allocated to noncommercial organizations (such as the American Red Cross, etc.). These are merely a representative sampling of top level domains; there are currently over 100 such top level domains. For instance, top level domains have been allocated to each country, such as “uk” for the United Kingdom.
Each top level domain includes a plurality of sub-domains that fall under the general category established by the top level domain. For example, exemplary sub-domain 118 is shown in FIG. 1 for providing resources in connection with the hypothetical AcmeXYZ Corporation. This exemplary sub-domain 118 includes a series of nodes, including main level node 120 (associated with the domain name “AcmeXYZ.com”) and a plurality of associated sub-nodes that depend from the main node 120. One of more or these sub-nodes can form a sub-domain, such as exemplary sub-domain 122 that identifies a sub-resource under the general category of AcmeXYZ.com. In this case, the sub-domain identifies the sub-resource of Shopping.AcmeXYZ.com, which might identify a hypothetical online shopping service maintained by AcmeXYZ.com.
In terms of physical infrastructure, the Internet can allocate different computing equipment to different nodes in the domain name space 100 for handling domain name resolution. Collectively, this equipment is referred to as the Domain Name System (DNS). Such equipment can include a variety of servers, databases, etc. The equipment can specifically include a plurality of domain name servers (referred to for brevity below as “name servers”). A name server performs the role of converting a human readable domain name into its assigned IP address. Each name server include a subset of the total universe of domain names and associated IP addresses. Accordingly, the entire collection of name servers employed in the Internet forms an immense distributed database. For instance, the hypothetical AcmeXYZ Corporation can allocate a plurality of name servers, including one name server allocated to serving the sub-domain 122. Each name server can store domain name information pertinent to its operation in a zone file database (not shown).
FIG. 2 illustrates one exemplary technique for resolving a domain name, that is, for converting a specified human readable domain name into a 32 bit IP address. In this technique, a client computer 202 accesses a local name server 204 in attempt to resolve the exemplary domain name “AcmeXYZ.com” associated with domain 118 (and node 120) of FIG. 1. For instance, the client computer 202 can be preconfigured to first look to an identified local name server 204 in attempting to resolve a domain name. The local name server 204 could be, for instance, implemented by an Internet Service Provider (ISP) associated with the client computer 202. If the local name server 204 stores the IP address of AcmeXYZ.com, then this name server 204 can immediately return the IP address to the client computer 202, whereupon the client computer 202 can directly access the resources associated with AcmeXYZ.com at that IP address. However, if this is not the case, the local name server 204 can iteratively contact a series of other name servers to resolve the domain name. In one technique, the local server 204 can contact a name server 206 associated with the root node 102 of FIG. 1. This name server 206 can identify a name server 208 associated with the top level domain assigned to commercial (.com) organizations, pertaining to top level node 104 of FIG. 1. The local name server 204 can then contact the name server 208 to resolve the address AcmeXYZ.com. If the IP address cannot be obtained from this name server 208, then the name server 208 can identify another name server 210 associated with the AcmeXYZ Corporation. The local name server 204 can then finally obtain the IP address from that name server 210 and forward it back to the client computer 202. FIG. 2 illustrates this exemplary series of transactions by numbers placed in parentheses, e.g., (1), (2), etc. To expedite operation, the name servers shown in FIG. 2 will typically cache domain names and associated IP addresses for a predetermined about of time, allowing those cached domain names to be resolved more quickly if there are subsequent requests from client computers regarding these domain names.
Well defined procedures exist for creating domain names and changing domain names. For instance, a user may desire to establish a new unique domain name associated with new resources that it seeks to make available over the Internet. Alternatively, a user may wish to transfer a preexisting domain from one entity to another entity (such as from one vendor to another vendor). As a result of this transfer, the domain name files need to be updated so that the domain name points to the name servers associated with the new vendor. Still alternatively, a user may wish to re-delegate the domain so that it is served by a different set of name servers than before, but otherwise the domain remains associated with the same entity (e.g., vendor).
Currently, the above-identified changes are performed by submitting instructions regarding these changes to a registrar, such as Network Solutions, Inc. A registrar is typically a company that has been empowered to make the changes specified by the user. These changes will ultimately be entered into a central database (referred to as the “WHOIS” database. The registrar also performs the task of propagating the new domain name information to any name servers that require this information, such as, in the case of the new domain name AcmeXYZ.com, the name servers associated with top level domain node 104 of FIG. 1. The domain only becomes active after all the necessary changes have been propagated through the network and the necessary zone file databases contain the required domain name information.
FIG. 3 shows a procedure 300 that describes the above-mentioned operations in greater detail. In step 302, the user registers a new domain with a registrar, or asks the registrar to update the name server (NS) information for a currently registered domain name. As mentioned, in the case of an update, the user may be interested in transferring a domain or re-delegating a domain. Typically, the registrar allows a user to make the changes referred to in step 302 via an online service, such as by filling out and submitting an electronic form which identifies the required domain name information. As reflected by the two topmost ovals shown in FIG. 3, prior to step 302, the user's domain does not exist (in the case where the user seeks to create a new domain), or the user's domain provides “old” domain name information (in the case where the user seeks to modify the existing, e.g., “old,” domain name information). After step 302, the registrar now has instructions to create a new domain name or modify the existing domain name, but these changes are not yet “live” (e.g., active) in the domain name system (DNS).
In step 304, the registrar updates the registry (such as the “WHOIS” database) with domain settings (to reflect a new domain, a transferred domain, or a re-delegated domain). However, after this step, the new or updated domain is still not active.
In step 306, the registrar propagates the domain name changes to appropriate name servers throughout the network, such as the name servers associated with the top level domain pertaining to the domain name being created or changed. This change ultimately results in the loading of a zone file in one or more databases associated with one or more name servers. Finally, after step 306, the domain is considered active. This means that any user can type in the domain name corresponding to Acme.YYZ.com and the DNS will resolve this domain name to the correct IP address that has been stored in the appropriate name servers.
While the basic procedure 300 described in FIG. 3 is fairly uniform throughout the Internet, the time required to implement these operations is highly variable. For instance, a domain change that affects the .com top level domain may take a different amount of time than a domain change that affects the .org top level domain. This may reflect the fact that these different top level domains require the registrar to perform a different series of administrative operations in order to activate a new or updated domain. For instance, the processing time associated with different countries (e.g., “.fr” for France and “.uk” for the United Kingdom) may differ due to the different regulations imposed by these countries regarding the registration and modification of domain names. Moreover, even within the same top level domain, the time required to process domain name registration requests may vary depending on registrar workload and other factors. Generally, because of the myriad of factors involved, it is very difficult for a user to accurately predict when a domain will become active.
The user's inability to determine when a domain name will become active can lead to various negative consequences. For instance, in a competitive commercial environment, the user may wish to alert its customers as soon as possible when an Internet resource becomes available so that the customers can resume their business activities that rely on this resource. This cannot be performed without requiring the user to perform time-consuming investigation to determine when the domain has become active. This difficulty is compounded in those commercial environments that regularly add new domain names and modify existing domain names.
Accordingly, there is an exemplary need in the art for a more effective technique for determining when a domain has become active in a network environment, such as the Internet.